package br.ucb.managedBean;

import java.io.Serializable;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import br.ucb.JPA.JogadorDAO;
import br.ucb.negocio.Jogador;
import br.ucb.util.Valida;

@ManagedBean(name="jogadorMB")
@SessionScoped
public class JogadorManagedBean implements Serializable{
	private static final long serialVersionUID = 1L;

	private JogadorDAO dao = new  JogadorDAO();
	private Jogador jogador;
	List<Jogador> jogadores;

	public List<Jogador> getListarJogadores() {
        jogadores  = dao.listar();
        return jogadores;
    }

    public Jogador getJogador() {
        return jogador;
    }

    public void setJogador(Jogador jogador) {
        this.jogador = jogador;
    }

    public void prepararAdicionarJogador(ActionEvent actionEvent) {
        jogador = new Jogador();
    }

    public void adicionarJogador(ActionEvent actionEvent) {
    	FacesContext context = FacesContext.getCurrentInstance();
    	if(Valida.isJogador(jogador)){
	        dao.incluir(jogador);
	        jogador = new Jogador();
    	}else{
    		context.addMessage(null, new FacesMessage("Erro", "Jogador já existente"));
    	}
    }

    public void alterarJogador(ActionEvent actionEvent){
        dao.alterar(jogador);
    }

    public void excluirJogador() {
        dao.excluir(jogador);
    }
}
